package org.example.mapper;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.example.pojo.Clazz;
import org.example.pojo.ClazzQueryParam;

import java.util.List;
import java.util.Map;

@Mapper
public interface ClazzMapper {
    //查询总记录数
    @Select("select count(*) from clazz c left join emp e on c.id = e.id")
    Long count();

    //条件查询
    List<Clazz> list(ClazzQueryParam clazzQueryParam);

    void deleteById(Integer id);

    void insert(Clazz clazz);

    // 添加更新方法
    void update(Clazz clazz);

    Clazz getById(Integer id);

    @MapKey("name")
    List<Map> countClassData();

    // 查询某个班级下的学生数量
    Integer countStudentsInClass(Integer classId);

}